package com.greendeliver.activities;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;

import com.example.test.R;
import com.example.test.R.animator;
import com.example.test.R.id;
import com.greendeliver.activities.base.BaseActivity;

/**
 * Activit� principale.
 * 
 * @author Cyril Schumacher <cyril.dot.schumacher@gmail.com>
 * @see com.greendeliver.activities.base.BaseActivity
 */
public class MainPlanningActivity extends BaseActivity {
	/**
	 * Appel� lorsque de la cr�ation de l'activit�.
	 * 
	 * @param savedInstanceState
	 *            Si l'activit� est r�initialis� apr�s avoir �t� pr�c�demment
	 *            arr�t� alors ce Bundle contient les donn�es le plus r�cemment
	 *            fourni dans onSaveInstanceState (Bundle).
	 * @see android.app.Activity#onCreate(Bundle)
	 */
	@Override
	protected void onCreate( Bundle savedInstanceState ) {
		Log.d( "onCreate", "Initialize activity" );

		// Initialisation et cr�ation de l'activit�.
		super.onCreate( savedInstanceState );
		// Met la vue en plein-�cran.
		setFullscreen();
		// D�finit le contenu de l'activit�.
		setContentView( R.layout.activity_main_planning );

		_initializeComponents();
	}

	/**
	 * Initialise les composants.
	 */
	private void _initializeComponents() {
		_animateIcons();
	}

	/**
	 * Effectue les animations des ic�nes.
	 */
	private void _animateIcons() {
		Animation animation = AnimationUtils.loadAnimation( this, animator.icon_animation );

		findViewById( id.main_icon_planning ).startAnimation( animation );
		findViewById( id.main_icon_services ).startAnimation( animation );
	}

	/**
	 * Redirige l'utilisateur vers la vue "Planning Al�atoire".
	 * 
	 * @param view
	 *            Vue.
	 */
	public void goRandomPlanningActivity( View view ) {
		Log.d( "goRandomPlanningActivity", "Start navigating to Planning" );
		navigateToActivity( BestPlanningActivity_Main.class );
	}

	/**
	 * Redirige l'utilisateur vers la vue "Personnalisation Planning".
	 * 
	 * @param view
	 *            Vue.
	 */
	public void goCustomPlanningActivity( View view ) {
		Log.d( "goCustomPlanningActivity", "Start navigating to Services" );
		navigateToActivity( CustomPlanning_Main.class );
	}

	/**
	 * Redirige l'utilisateur vers la vue "A propos".
	 * 
	 * @param view
	 *            Vue.
	 */
	public void goAboutActivity( View view ) {
		Log.d( "goPlanningActivity", "Start navigating to About" );
		navigateToActivity( InfosGenActivity.class );
	}
}
